Rocketmq 指定消息投递queue |
您所在的位置:网站首页 › rocketmq queue › Rocketmq 指定消息投递queue |
Message message = new Message(JmsConfig.TOPIC,"taga" ,"6688" , ("hello xdclass rocketmq = "+text).getBytes() );
SendResult sendResult = payProducer.getProducer().send(message, new MessageQueueSelector() {
@Override
public MessageQueue select(List list, Message message, Object o) {
int queueNum = Integer.parseInt(o.toString());
return list.get(queueNum);
}
},0);
System.out.println(sendResult.toString());
默认一个topic 有4个队列,下标:0-3 ; 这里要重写该构造方法, 0 表示的是指投递第一个队列queue
查看控制台日志: SendResult [sendStatus=SEND_OK, msgId=C0A80070082C18B4AAC247549DFA0008, offsetMsgId=C0A8218100002A9F000000000002D924, messageQueue=MessageQueue [topic=xdclass_pay_test_topic_666, brokerName=broker-a, queueId=0], queueOffset=10] SendResult [sendStatus=SEND_OK, msgId=C0A80070082C18B4AAC247549E720009, offsetMsgId=C0A8218100002A9F000000000002D9FE, messageQueue=MessageQueue [topic=xdclass_pay_test_topic_666, brokerName=broker-a, queueId=0], queueOffset=11] 该消息只投递到了 queueId= 0 的队列 投递的Id设置必须小于总的队列数 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |